package org.dromara.app.mapper;

import org.apache.ibatis.annotations.Param;
import org.dromara.app.appParams.AppPageParams;
import org.dromara.app.appParams.AppYueJuUserInfoParam;
import org.dromara.app.appReturn.AppUserInfo;
import org.dromara.app.appReturn.AppYueJuListReturn;
import org.dromara.app.appReturn.AppZhengZaiZuJuReturn;
import org.dromara.app.domain.SkYueJuUser;
import org.dromara.app.domain.vo.SkYueJuUserVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

import java.util.List;

/**
 * 约局用户信息Mapper接口
 *
 * @author Evacuation
 * @date 2024-07-23
 */
public interface SkYueJuUserMapper extends BaseMapperPlus<SkYueJuUser, SkYueJuUserVo> {

    /**
     * 进行中的组局
     *
     * @param userId
     * @return
     */
    List<AppZhengZaiZuJuReturn> getUserYueJuList(Long userId);

    /**
     * 约局群组列表
     *
     * @param userId
     * @return
     */
    List<AppZhengZaiZuJuReturn> getGroupList(Long userId);

    /**
     * 我发起的约局
     *
     * @param params
     * @return
     */
    List<AppZhengZaiZuJuReturn> getMyFaQiGroupList(@Param("params") AppPageParams params,@Param("userId") Long userId);

    /**
     * 有效的约局用户列表
     * @param id
     * @return
     */
    List<AppYueJuUserInfoParam> getYueJuInfo(Long id);
    /**
     * 我参与的约局
     *
     * @param params
     * @return
     */
    List<AppZhengZaiZuJuReturn> getMyCanYuGroupList(AppPageParams params, Long userId);

    /**
     * 我的群聊
     */
    List<AppYueJuListReturn> getMyGroupChat(Long userId);

    /**
     * 群聊成员
     * @param yuejuId
     * @return
     */
    List<AppUserInfo> getGroupUserList(Long yuejuId);

    /**
     * 参加约局的人
     *
     * @param id
     * @return
     */
    List<SkYueJuUserVo> getYueJuUserByYueJiId(Long id);
}
